package com.sky.orangehireserver.modules.job_seeker.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 求职者岗位简要信息响应VO（用于列表展示）
 * 
 * @author sky
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "求职者岗位简要信息响应VO")
public class SeekerJobBriefVO {

    /**
     * 职位ID
     */
    @Schema(description = "职位ID", example = "1")
    private Long id;

    /**
     * 所属企业名称
     */
    @Schema(description = "所属企业名称", example = "阿里巴巴集团")
    private String orgName;

    /**
     * 企业Logo URL
     */
    @Schema(description = "企业Logo URL")
    private String orgLogoUrl;

    /**
     * 职位名称
     */
    @Schema(description = "职位名称", example = "Java高级开发工程师")
    private String title;

    /**
     * 工作地点/城市
     */
    @Schema(description = "工作地点/城市", example = "北京")
    private String location;

    /**
     * 工作类型名称
     */
    @Schema(description = "工作类型名称", example = "全职")
    private String employmentTypeName;

    /**
     * 经验要求名称
     */
    @Schema(description = "经验要求名称", example = "中级")
    private String seniorityName;

    /**
     * 学历要求名称
     */
    @Schema(description = "学历要求名称", example = "本科")
    private String educationName;

    /**
     * 薪资范围显示
     */
    @Schema(description = "薪资范围显示", example = "15K-25K")
    private String salaryRange;

    /**
     * 职位标签列表
     */
    @Schema(description = "职位标签列表")
    private List<String> tagList;

    /**
     * 职位浏览次数
     */
    @Schema(description = "职位浏览次数", example = "100")
    private Integer viewsCount;

    /**
     * 投递次数
     */
    @Schema(description = "投递次数", example = "50")
    private Integer applicationsCount;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private LocalDateTime createdAt;
}